#ifndef SYSTEMMESSAGELISTENER_H
#define SYSTEMMESSAGELISTENER_H
#include "StompedReality/Core.h"
#ifdef LINUX
#include <X11/Xlib.h>
#elif WIN32
#include <Windows.h>
#endif
namespace StompedReality
{
namespace Core
{
#ifdef LINUX
typedef XEvent SystemMessage;
#elif WIN32
typedef MSG SystemMessage;
#endif

/*!
 * \author	Stefan Kazalski
 *
 * \brief	Listens to windows system messages.
 */
class DLL_EXPORT SystemMessageListener {
 public:

  //! \brief	Constructor.
  SystemMessageListener( )
  {
  }

  //! \brief	Destructor.
  virtual ~SystemMessageListener( )
  {
  }

  //! \brief	Processes a system message.
  //! \param	msg		The system message.
  virtual void ProcessMessage( SystemMessage* msg ) = 0;
};

}
}
#endif // SYSTEMMESSAGELISTENER_H
